Utilizing keystroke logging to determine items for presentation

ABSTRACT

Systems, methods, and computer-readable storage media are provided for utilizing keystroke logging information to determine items (e.g., search results and/or advertisements) for presentation in response to an input search query. The utilized keystroke logging information is captured contemporaneously with input of the submitted query terms/content of the search query. That is, the utilized keystroke logging information is captured during a single search query input session measured, for instance, between execution of a first search query and execution of a second search query, or between engagement with a search query input region and execution of a search query. In this way, information that may be gleaned about a user&#39;s intent based upon query reformulations (e.g., query term deletions, additions, spelling corrections, and the like) and/or actions taken with respect to query formation (e.g., pasting actions) may be utilized to provide relevant items in response to the search query.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/715,173, filed Dec. 14, 2012, whose applications are herebyincorporated by reference as if set forth in its entirety herein.

BACKGROUND OF THE INVENTION

Keyword based search engines are in widespread use today for informationretrieval, such as Web-based information retrieval. Users typicallyenter queries through a search interface, for instance, a search queryinput region associated with a search engine home page or a searchtoolbar. One problem with keyword-based search engines and searching onthe Web is that it is common for irrelevant results to be returned tothe user. One reason for this is that most search engines utilize anapproach to search where the user submits one or more query terms andthe search engine returns ranked results based on the submitted queryterms alone. Query input more reflective of actual user intent generatesmore relevant search results. However, users are often unsure how bestto express their intent and/or don't realize that the query terms theyare inputting may have multiple alternate meanings.

SUMMARY OF THE INVENTION

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In various embodiments, systems, methods, and computer-readable storagemedia are provided for utilizing keystroke logging information that iscaptured contemporaneously with input of the submitted content of asearch query to determine items (e.g., search results and/oradvertisements) for presentation in response to the input search query.That is, keystroke logging information captured during a single searchquery input session (i.e., between execution of a first search query andexecution of a second search query or between engagement with a searchquery input region and execution of a search query) is utilized indetermining (e.g., identifying and/or ranking) items for presentation inresponse to the query. In this way, information that may be gleanedabout a user's intent based upon query reformulations (for instance,query term additions or deletions) and/or actions taken with respect toquery formation (e.g., pasting actions) may be utilized to provide morerelevant items in response to the query.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the accompanying figures in which like reference numeralsindicate similar elements and in which:

FIG. 1 is a block diagram of an exemplary computing environment suitablefor use in implementing embodiments of the present invention;

FIG. 2 is a block diagram of an exemplary computing system in whichembodiments of the invention may be employed;

FIG. 3 is a flow diagram showing an exemplary method for utilizingkeystroke logging to determine items for presentation, in accordancewith an embodiment of the present invention;

FIG. 4 is a flow diagram showing another exemplary method for utilizingkeystroke logging to determine items for presentation, in accordancewith an embodiment of the present invention; and

FIG. 5 is a flow diagram showing yet another exemplary method forutilizing keystroke logging to determine items for presentation, inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The subject matter of the present invention is described withspecificity herein to meet statutory requirements. However, thedescription itself is not intended to limit the scope of this patent.Rather, the inventor has contemplated that the claimed subject mattermight also be embodied in other ways, to include different steps orcombinations of steps similar to the ones described in this document, inconjunction with other present or future technologies. Moreover,although the terms “step” and/or “block” may be used herein to connotedifferent elements of methods employed, the terms should not beinterpreted as implying any particular order among or between varioussteps herein disclosed unless and except when the order of individualsteps is explicitly described.

Various aspects of the technology described herein are generallydirected to systems, methods, and computer-readable storage media forutilizing keystroke logging information to determine items (e.g., searchresults and/or advertisements) for presentation in response to an inputsearch query. The utilized keystroke logging information is capturedcontemporaneously with input of the submitted query terms/content of thesearch query. In other words, the utilized keystroke logging informationis captured during a single search query input session measured, forinstance, between execution of a first search query and execution of asecond search query, or between engagement with a search query inputregion and execution of a search query. In this way, information thatmay be gleaned about a user's intent based upon query reformulations(e.g., query term deletions, additions, spelling corrections, and thelike) and/or actions taken with respect to query formation (e.g.,pasting actions) may be utilized to provide relevant items in responseto the search query.

Accordingly, one embodiment of the present invention is directed to oneor more computer-readable storage media storing computer-useableinstructions that, when used by one or more computing devices, cause theone or more computing devices to perform a method for utilizingkeystroke logging to determine items for presentation. The methodincludes receiving a search query including submitted content (i.e.,query terms) and keystroke logging information, and determining at leastone item for presentation in response to the search query based, atleast in part, on the keystroke logging information. The keystrokelogging information is captured contemporaneously with input of thesearch query, that is, between execution of a first search query andexecution of a second search query or between engagement with a searchquery input region and execution of a search query.

In another embodiment, the present invention is directed to a methodbeing performed by one or more computing devices including at least oneprocessor, the method for utilizing keystroke logging to determine itemsfor presentation. The method includes receiving a search query,receiving keystroke logging information associated with the searchquery, and determining at least one of a search result and anadvertisement for presentation in response to the received search query.The keystroke logging information is captured contemporaneously withinput of the search query (i.e., between execution of a first searchquery and execution of a second search query or between engagement witha search query input region and execution of a search query) and the atleast one of the search result and the advertisement is determined, atleast in part, based upon the keystroke logging information.

In yet another embodiment, the present invention is directed to a systemfor utilizing keystroke logging to determine items for presentation. Thesystem includes a search engine having one or more processors and one ormore computer-readable storage media, and a data store coupled with thesearch engine. The search engine is configured to receive an inputsearch query including submitted content and keystroke logginginformation; determine a plurality of potential search results based, atleast in part, on the keystroke logging information; rank at least aportion of the determined plurality of potential search results based,at least in part, on the keystroke logging information; and transmit atleast a portion of the ranked plurality of potential search results forpresentation in response to the received search query. The keystrokelogging information is captured contemporaneously with input of thesearch query, that is, between execution of a first search query andexecution of a second search query or between engagement with a searchquery input region and execution of a search query.

Having briefly described an overview of embodiments of the presentinvention, an exemplary operating environment in which embodiments ofthe present invention may be implemented is described below in order toprovide a general context for various aspects of the present invention.Referring to the figures in general and initially to FIG. 1 inparticular, an exemplary operating environment for implementingembodiments of the present invention is shown and designated generallyas computing device 100. The computing device 100 is but one example ofa suitable computing environment and is not intended to suggest anylimitation as to the scope of use or functionality of embodiments of theinvention. Neither should the computing device 100 be interpreted ashaving any dependency or requirement relating to any one component norany combination of components illustrated.

Embodiments of the invention may be described in the general context ofcomputer code or machine-useable instructions, includingcomputer-useable or computer-executable instructions such as programmodules, being executed by a computer or other machine, such as apersonal data assistant or other handheld device. Generally, programmodules including routines, programs, objects, components, datastructures, and the like, and/or refer to code that performs particulartasks or implements particular abstract data types. Embodiments of theinvention may be practiced in a variety of system configurations,including hand-held devices, consumer electronics, general-purposecomputers, more specialty computing devices, and the like. Embodimentsof the invention may also be practiced in distributed computingenvironments where tasks are performed by remote-processing devices thatare linked through a communications network.

With continued reference to FIG. 1, the computing device 100 includes abus 110 that directly or indirectly couples the following devices: amemory 112, one or more processors 114, one or more presentationcomponents 116, one or more input/output (I/O) ports 118, one or moreI/O components 120, and an illustrative power supply 122. The bus 110represents what may be one or more busses (such as an address bus, databus, or combination thereof). Although the various blocks of FIG. 1 areshown with lines for the sake of clarity, in reality, these blocksrepresent logical, not necessarily actual, components. For example, onemay consider a presentation component such as a display device to be anI/O component. Also, processors have memory. The inventor hereofrecognizes that such is the nature of the art, and reiterates that thediagram of FIG. 1 is merely illustrative of an exemplary computingdevice that can be used in connection with one or more embodiments ofthe present invention. Distinction is not made between such categoriesas “workstation,” “server,” “laptop,” “hand-held device,” etc., as allare contemplated within the scope of FIG. 1 and reference to “computingdevice.”

The computing device 100 typically includes a variety ofcomputer-readable media. Computer-readable media may be any availablemedia that is accessible by the computing device 100 and includes bothvolatile and nonvolatile media, removable and non-removable media.Computer-readable media comprises computer storage media andcommunication media; computer storage media excluding signals per se.Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 100. Communication media, on the other hand, embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. Combinations of any of the above should also be includedwithin the scope of computer-readable media.

The memory 112 includes computer-storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, non-removable,or a combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, and the like. The computingdevice 100 includes one or more processors that read data from variousentities such as the memory 112 or the I/O components 120. Thepresentation component(s) 116 present data indications to a user orother device. Exemplary presentation components include a displaydevice, speaker, printing component, vibrating component, and the like.

The I/O ports 118 allow the computing device 100 to be logically coupledto other devices including the I/O components 120, some of which may bebuilt in. Illustrative components include a microphone, joystick, gamepad, satellite dish, scanner, printer, wireless device, and the like.Aspects of the subject matter described herein may be described in thegeneral context of computer-executable instructions, such as programmodules, being executed by a mobile device. Generally, program modulesinclude routines, programs, objects, components, data structures, and soforth, which perform particular tasks or implement particular abstractdata types. Aspects of the subject matter described herein may also bepracticed in distributed computing environments where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote computer storage mediaincluding memory storage devices.

Furthermore, although the term “search engine” is used herein, it willbe recognized that this term may also encompass a server, a Web browser,a set of one or more processes distributed on one or more computers, oneor more stand-alone storage devices, a set of one or more othercomputing or storage devices, a combination of one or more of the above,and the like.

As previously mentioned, embodiments of the present invention aregenerally directed to systems, methods, and computer-readable storagemedia for utilizing keystroke logging information to determine items(e.g., search results and/or advertisements) for presentation inresponse to an input search query. The utilized keystroke logginginformation is captured contemporaneously with input of the submittedquery terms/content of the search query. In other words, the utilizedkeystroke logging information is captured during a single search queryinput session measured, for instance, between execution of a firstsearch query and execution of a second search query, or betweenengagement with a search query input region and execution of a searchquery. In this way, information that may be gleaned about a user'sintent based upon query reformulations (e.g., query term deletions,additions, spelling corrections, and the like) and/or actions taken withrespect to query formation (e.g., pasting actions) may be utilized toprovide relevant items in response to the search query.

Referring now to FIG. 2, a block diagram is provided illustrating anexemplary computing system 200 in which embodiments of the presentinvention may be employed. Generally, the computing system 200illustrates an environment in which, in addition to the submittedcontent (query terms) of a search query, keystroke logging informationis contemporaneously captured and utilized to determine at least oneitem (e.g., a search result and/or an advertisement) to present inresponse to the search query. Among other components not shown, thecomputing system 200 generally includes a user computing device 210, asearch engine 212 and a data store 214, all in communication with oneanother via a network 216. The network 216 may include, withoutlimitation, one or more local area networks (LANs) and/or wide areanetworks (WANs). Such networking environments are commonplace inoffices, enterprise-wide computer networks, intranets and the Internet.Accordingly, the network 216 is not further described herein.

It should be understood that any number of user computing devices 210and/or search engines 212 may be employed in the computing system 200within the scope of embodiments of the present invention. Each maycomprise a single device/interface or multiple devices/interfacescooperating in a distributed environment. For instance, the searchengine 212 may comprise multiple devices and/or modules arranged in adistributed environment that collectively provide the functionality ofthe search engine 212 described herein. Additionally, othercomponents/modules not shown also may be included within the computingsystem 200.

In some embodiments, one or more of the illustrated components/modulesmay be implemented as stand-alone applications. In other embodiments,one or more of the illustrated components/modules may be implemented viathe user computing device, 210, the search engine 212, or as anInternet-based service. It will be understood by those of ordinary skillin the art that the components/modules illustrated in FIG. 2 areexemplary in nature and in number and should not be construed aslimiting. Any number of components/modules may be employed to achievethe desired functionality within the scope of embodiments hereof.Further, components/modules may be located on any number of searchengines and/or user computing devices. By way of example only, thesearch engine 212 might be provided as a single computing device (asshown), a cluster of computing devices, or a computing device remotefrom one or more of the remaining components.

It should be understood that this and other arrangements describedherein are set forth only as examples. Other arrangements and elements(e.g., machines, interfaces, functions, orders, and groupings offunctions, etc.) can be used in addition to or instead of those shown,and some elements may be omitted altogether. Further, many of theelements described herein are functional entities that may beimplemented as discrete or distributed components or in conjunction withother components, and in any suitable combination and location. Variousfunctions described herein as being performed by one or more entitiesmay be carried out by hardware, firmware, and/or software. For instance,various functions may be carried out by a processor executinginstructions stored in memory.

The user computing device 210 may include any type of computing device,such as the computing device 100 described with reference to FIG. 1, forexample. Generally, the user computing device 210 includes a browser 218and a display 220. The browser 218, among other things, is configured torender search engine home pages (or other online landing pages), andrender search engine results pages (SERPs) in association with thedisplay 220 of the user computing device 210. The browser 218 is furtherconfigured to receive user input of requests for various web pages(including search engine home pages), receive user input search queries(generally input via a user interface presented on the display 220 andpermitting alpha-numeric and/or textual input into a designated searchinput region) and to receive content for presentation on the display220, for instance, from the search engine 212. It should be noted thatthe functionality described herein as being performed by the browser 218may be performed by any other application, application software, userinterface, or the like capable of rendering Web content. Any and allsuch variations, and any combination thereof, are contemplated to bewithin the scope of embodiments of the present invention.

The search engine 212 of FIG. 2 is configured to receive search queriesand keystroke logging information, determine items (e.g., search resultsand advertisements) for presentation in response to received searchqueries and/or keystroke logging information, and transmit determineditems (for instance, to the user computing device 210) for presentation,e.g., in association with a SERP. As illustrated, the search engine 212includes a receiving component 222, a determining component 224, and atransmitting component 226. The illustrated search engine 212 also hasaccess to a data store 214. The data store 214 is configured to storeinformation pertaining to search queries, keystroke logging information,and items configured for presentation in response to an input searchquery (e.g., including, but not limited to search results and/oradvertisements. In various embodiments, such information may include,without limitation, search query logs, search result determiningalgorithms, keystroke logging cues and data, advertisements, and thelike. In embodiments, the data store 214 is configured to be searchablefor one or more of the items stored in association therewith. It will beunderstood and appreciated by those of ordinary skill in the art thatthe information stored in association with the data store 214 may beconfigurable and may include any information relevant to search queries,keystroke logging information, search results, and/or advertisements.The content and volume of such information are not intended to limit thescope of embodiments of the present invention in any way. Further,though illustrated as a single, independent component, the data store214 may, in fact, be a plurality of storage devices, for instance adatabase cluster, portions of which may reside in association with thesearch engine 212, the user computing device 210, another externalcomputing device (not shown), and/or any combination thereof.

The receiving component 222 of the search engine 212 is configured toreceive requests for presentation of search results (e.g.,algorithmically-identified search results) that satisfy an input searchquery. Typically, such a request is received via a browser (or otherapplication software or user interface) associated with a user computingdevice, for instance, the browser 218 associated with the user computingdevice 210. It should be noted, however, that embodiments of the presentinvention are not limited to users inputting a search query into atraditional query-input region of a screen display.

In accordance with embodiments of the present invention, received inputsearch queries include submitted content and keystroke logginginformation. As utilized herein, “submitted content” refers to thetextual information comprising the input search query, that is, thequery term(s). In embodiments, the submitted content is that contentwhich is visibly presented in the query-input region. In embodiments,the submitted content includes the query term(s) comprising the inputsearch query but does not include any formatting data (e.g., capitalletters, font size, font type, and the like), even though suchformatting data may be visibly presented. In such embodiments,formatting data is captured as keystroke logging information, as morefully described below.

Keystroke logging (often referred to as “keylogging”) is the action oftracking or logging keys struck on a keyboard. Thus, as utilized herein,“keystroke logging information” is information about those keys a userhas stuck on a keyboard in formulating an input search query. Keystrokelogging information may or may not be discernable from the submittedcontent. Keystroke logging information that is discernable from thesubmitted content includes, without limitation, formatting data such ascapital letters, font sizes, font types, and the like. Keystroke logginginformation that is not discernable from the submitted content includes,without limitation, indications of query processing operations (e.g.,deleting query terms, adding query terms, spelling corrections, contentpasting, and the like) and indicators of a source from which one or morequery terms is taken (e.g., a URL from which a query term is copied andpasted into the query-input region).

It will be understood and appreciated by those of ordinary skill in theart that advances in technology continue to enable users to inputinformation and receive responses to queries with limited interactionwith an actual keyboard. Embodiments of the present invention thus areintended to include keystroke logging information that is input withoutdirect keyboard interaction. For instance, voice input is increasinglyutilized to allow users to input information without interaction with akeyboard. Query formulation and reformulation actions, however, stilltake place with such input mechanisms. For instance, a user may requestthat a previously spoken query term be deleted and replaced with anotherkeyword. Even though such actions are verbal and do not require akeyboard, information concerning such actions are included within thedefinition of “keystroke logging information” as that term is utilizedherein. Keystroke logging methods, both hardware and software-based, areknown to those of ordinary skill in the art and, accordingly, are notfurther described herein.

In accordance with embodiments herein, keystroke logging information iscaptured contemporaneously with input of the search query, that is, withinput of the submitted content/query terms. In other words, thekeystroke logging information captured in accordance with embodiments ofthe present invention originates (based upon user action) during thesame period of time as origination of the submitted content. Thus, thetime frame qualifying as the “same” time frame as origination of thesubmitted content is the time frame comprising a single search querysession measured, for instance, between execution of a first searchquery and execution of a second search query, or between engagement witha search query input region and execution of a search query. In thisway, information regarding query reformulations and/or actions taken bythe user with respect to query formulation is captured.

Keystroke logging information and submitted content/query terms may bereceived by the receiving component 222 as separate files or as a singlefile, the keystroke logging information being appended to the submittedcontent and/or included as metadata of the submitted content. Thus, thereceiving component 222 is configured to receive search queriesincluding submitted content and keystroke logging information, and isalso configured to receive search queries including submittedcontent/query terms and to separately receive keystroke logginginformation captured contemporaneously with the search query. Any andall such variations, and any combination thereof, are contemplated to bewithin the scope of embodiments of the present invention.

By way of example, suppose a user engages with a search query inputregion of a search interface and pastes the phrase “The MicrosoftOffice” that was copied from a Web source. (Note that MICROSOFT OFFICEis a registered trademark of Microsoft Corporation of Redmond, Wash.)Further suppose the user then deletes the word “The” and submits thequery (e.g., presses the “enter” button on a keyboard or selects asearch initiation icon). In this example, and utilizing a prior artsearch engine that does not take into account formatting information indetermining search results, the query terms “microsoft office” are allthat is utilized by the search engine in determining items forpresentation. However, in accordance with embodiments of the presentinvention, the search engine may receive the query “microsoft office” aswell as the following additional information: (1) the query is a pastedquery, (2) the URL source of the pasted query, (3) that the query usedto contain the word “The,” and (4) the fact that both query terms arecapitalized (which may signal that the user is searching for a name).This additional information may then be utilized (as more fullydescribed below) in determining items for presentation in response tothe received query that are more relevant and more accurately reflectthe user's intent than would be determined utilizing the exemplary priorart search engine.

As another example, suppose a user engages with a search query inputregion of a search interface and inputs the phrase “Microsoft Office.”The user then changes her mind and decides she is really only interestedin items related to a word processing program, deletes “MicrosoftOffice” and inputs “Word.” (Note that MICROSOFT OFFICE and WORD areregistered trademarks of Microsoft Corporation of Redmond, Wash.) Theuser then submits the query. In this example, and utilizing a prior artsearch engine that does not take into account formatting information indetermining search results, the query term “word” is all that isutilized by the search engine in determining items for presentation.From this query alone, it is very difficult for the search engine tounderstand the user's intent. However, in accordance with embodiments ofthe present invention, the search engine may receive not only the query“word” but also the following additional information: (1) that the queryused to contain the terms “Microsoft Office” (which is an entity andhelpful context), and (2) that the submitted content/query term iscapitalized (which aids in categorizing it as a name/entity). Thisadditional information may then be utilized (as more fully describedbelow) in determining items for presentation in response to the receivedquery that are more relevant and more accurately reflect the user'sintent than would be determined utilizing the exemplary prior art searchengine.

As yet another example, suppose a user engages with a search query inputregion of a search interface and inputs the phrase “Microsoft Office.”(Note that MICROSOFT OFFICE is a registered trademark of MicrosoftCorporation of Redmond, Wash.) The user then changes her mind deletes“Microsoft Office” and inputs “bestbuy.” (Note that BEST BUY is aregistered trademark of BBY Solutions, Inc. Corporation of RichfieldMinn.) The user then submits the query. In this example, and utilizing aprior art search engine that does not take into account formattinginformation in determining search results, the query term “bestbuy” isall that is utilized by the search engine in determining items forpresentation. However, in accordance with embodiments of the presentinvention, the search engine may receive not only the query “bestbuy”but also receive additional information indicating that the query usedto contain the terms “Microsoft Office” (which is an entity and helpfulcontext). This additional information may then be utilized (as morefully described below) in determining items for presentation in responseto the received query that are more relevant and more accurately reflectthe user's intent than would be determined utilizing the exemplary priorart search engine.

Returning now to FIG. 2, the determining component 224 is configured toutilize the submitted content/query terms and/or the keystroke logginginformation to determine one or more items for presentation in responseto the search query. In embodiments, the keystroke logging informationis utilized, at least in part, to determine at least one item forpresentation. Items may include any content configured for presentationin association with a display, for instance, the display 220 of the usercomputing device 210 and may include, without limitation, search results(e.g., algorithmically determined search results) and advertisements(e.g., display advertisements, banner advertisements, and the like).

In accordance with embodiments of the present invention, the determiningcomponent 224 is configured to utilize keystroke logging information todetermine items for presentation in response to a search query byidentifying items for presentation and/or by ranking potential items forpresentation. Thus, the determining component 224 includes a rankingcomponent 228 that is configured to utilize keystroke logginginformation to rank identified potential items with respect to oneanother.

With continued reference to FIG. 2, the transmitting component 226 isconfigured to transmit at least a portion of identified items forpresentation, for instance, on a search engine results page (SERP). Inembodiments, at least one of the transmitted items is determined(utilizing the determining component 224) using keystroke logginginformation.

Turning now to FIG. 3, a flow diagram is illustrated showing anexemplary method 300 for utilizing keystroke logging to determine itemsfor presentation, in accordance with an embodiment of the presentinvention. As indicted at block 310, a search query is received (e.g.,by the receiving component 222 of the search engine 212 of FIG. 2), thesearch query including submitted content and keystroke logginginformation, the keystroke logging information being capturedcontemporaneously with input of the search query. As indicated at block312, at least one item (for instance, an advertisement and/or a searchresult) is determined (e.g., utilizing the determining component 224 ofthe search engine 212 of FIG. 2) for presentation based, at least inpart, on the keystroke logging information. As previously set forth, thekeystroke logging information may or may not be discernable from thesubmitted content.

With reference now to FIG. 4, a flow diagram is illustrated showinganother exemplary method 400 for utilizing keystroke logging todetermine items for presentation, in accordance with an embodiment ofthe present invention. Initially, as indicated at block 410, a searchquery is received (e.g., by the receiving component 222 of the searchengine 212 of FIG. 2). As indicated at block 412, also received iskeystroke logging information, the keystroke logging information beingcaptured contemporaneously with input of the search query. As indicatedat block 414, at least one of a search result and an advertisement isdetermined for presentation (e.g., utilizing the determining component224 of the search engine 212 of FIG. 2) in response to the receivedsearch query based, at least in part, on the keystroke logginginformation. As previously set forth, the keystroke logging informationmay or may not be discernable from the submitted content.

With reference now to FIG. 5, a flow diagram is illustrated showing anexemplary method 500 for utilizing keystroke logging to determine itemsfor presentation, in accordance with an embodiment of the presentinvention. As indicated at block 510, an input search query is received,for instance, by the receiving component 222 of the search engine 212 ofFIG. 2. The input search query includes submitted content (e.g., queryterms) and keystroke logging information which may or may not bediscernable from the submitted content. The keystroke logginginformation is captured contemporaneously with input of the searchquery. As indicated at block 512, a plurality of potential searchresults is determined (e.g., utilizing the determining component 224 ofthe search engine 212 of FIG. 2) based, at least in part, on thekeystroke logging information. As indicated at block 514, at least aportion of the determined plurality of potential search results isranked (e.g., utilizing the ranking component 228), at least in part,based upon the keystroke logging information. At least a portion of theranked plurality of potential search results is transmitted (forinstance, utilizing the transmitting component 226 of the search engine212 of FIG. 2) for presentation in response to the received searchquery. This is indicated at block 516.

As can be understood, embodiments of the present invention providesystems, methods, and computer-readable storage media for, among otherthings, utilizing keystroke logging information to determine items (forinstance, search results and/or advertisements) for presentation inresponse to an input search query. The utilized keystroke logginginformation is captured contemporaneously with input of the submittedquery terms/content of the search query. In other words, the utilizedkeystroke logging information is captured during a single search queryinput session measured, for instance, between execution of a firstsearch query and execution of a second search query, or betweenengagement with a search query input region and execution of a searchquery. Utilizing the systems and methods herein presented informationthat may be gleaned about a user's intent based upon queryreformulations and/or actions taken with respect to query formation maybe utilized to provide relevant items in response to the search query.

The present invention has been described in relation to particularembodiments, which are intended in all respects to be illustrativerather than restrictive. Alternative embodiments will become apparent tothose of ordinary skill in the art to which the present inventionpertains without departing from its scope.

While the invention is susceptible to various modifications andalternative constructions, certain illustrated embodiments thereof areshown in the drawings and have been described above in detail. It shouldbe understood, however, that there is no intention to limit theinvention to the specific forms disclosed, but on the contrary, theintention is to cover all modifications, alternative constructions, andequivalents falling within the spirit and scope of the invention.

It will be understood by those of ordinary skill in the art that theorder of steps shown in the methods 300 of FIG. 3, 400 of FIG. 4, and500 of FIG. 5 is not meant to limit the scope of the present inventionin any way and, in fact, the steps may occur in a variety of differentsequences within embodiments hereof. Any and all such variations, andany combination thereof, are contemplated to be within the scope ofembodiments of the present invention.

What is claimed is:
 1. One or more computer-readable storage hardwaredevice storing computer-useable instructions that, when used by one ormore computing devices, cause the one or more computing devices toutilize keystroke logging to determine items for presentation, theinstructions configured to: receive a search query including submittedcontent and keystroke logging information, the keystroke logginginformation being captured between execution of a first query andexecution of a second query; and determine at least one item forpresentation in response to the search query based, at least in part, onthe keystroke logging information, the at least one item comprising asearch result, the determining comprising: ranking a plurality ofpotential search results in response to the search query based, at leastin part, on the keystroke logging information; and determining the atleast one item for presentation based on the ranking.
 2. The one or morecomputer-readable storage hardware device of claim 1, wherein thekeystroke logging information is not discernable from the submittedcontent.
 3. The one or more computer-readable storage hardware device ofclaim 2, wherein the keystroke logging information includes at least oneindication of a query processing operation.
 4. The one or morecomputer-readable storage hardware device of claim 2, wherein thekeystroke logging information includes a source indicator associatedwith at least a portion of the search query.
 5. The one or morecomputer-readable storage hardware device of claim 1, wherein at least aportion of the keystroke logging information is discernable from thesubmitted content.
 6. The one or more computer-readable storage hardwaredevice of claim 5, wherein the keystroke logging information comprisesformatting data associated with the search query.
 7. The one or morecomputer-readable storage hardware device of claim 1, wherein the atleast one item further comprises an advertisement.
 8. The one or morecomputer-readable storage hardware device of claim 1, wherein theinstructions are further configured to transmit the at least one itemfor presentation on a search engine results page.
 9. The one or morecomputer-readable storage hardware device of claim 1, wherein thekeystroke logging information is not discernable from the search query.10. A method being performed by one or more computing devices includingat least one processor, the method for utilizing keystroke logging todetermine items for presentation, the method comprising: receiving asearch query including submitted content and keystroke logginginformation, the keystroke logging information being captured betweenexecution of a first query and execution of a second query; receivingkeystroke logging information associated with the search query, thekeystroke logging information being captured between engagement with asearch query input region and execution of a search query; anddetermining at least one of a search result and an advertisement forpresentation in response to the received search query, the at least oneof the search result and the advertisement being determined, at least inpart, based upon the keystroke logging information.
 11. The method ofclaim 10, wherein the keystroke logging information is not discernablefrom the search query.
 12. The method of claim 11, wherein the keystrokelogging information includes at least one indication of a queryprocessing operation.
 13. The method of claim 11, wherein the keystrokelogging information includes a source indicator associated with at leasta portion of the search query.
 14. The method of claim 10, wherein atleast a portion of the keystroke logging information is discernable fromthe search query.
 15. The method of claim 14, wherein the keystrokelogging information comprises formatting data associated with the searchquery.
 16. The method of claim 10, wherein determining at least one of asearch result and an advertisement for presentation in response to thereceived search query comprises determining at least one search result;and wherein determining the at least one search result comprises rankingthe at least one search result among a plurality of other search resultsbased, at least in part, on the keystroke logging information.
 17. Asystem for utilizing keystroke logging to determine items forpresentation, the system comprising: a search engine having one or moreprocessors and one or more computer-readable storage media; and a datastore coupled with the search engine, wherein the search engine:receives an input search query including submitted content and keystrokelogging information, the keystroke logging information being capturedbetween execution of a first query and execution of a second query;determines a plurality of potential search results based, at least inpart, on the keystroke logging information; ranks at least a portion ofthe determined plurality of potential search results based, at least inpart, on the keystroke logging information; and transmits at least aportion of the ranked plurality of potential search results forpresentation in response to the received search query.
 18. The system ofclaim 17, wherein the search engine further determines at least oneadvertisement for presentation with the ranked plurality of potentialsearch results, the at least one advertisement being determined based,at least in part, on the keystroke logging information.
 19. The systemof claim 17, wherein the keystroke logging information is notdiscernable from the submitted content.
 20. The system of claim 17,wherein at least a portion of the keystroke logging information isdiscernable from the submitted content.